﻿using CardPlay.Model.Layout;

namespace CardPlay.Model.GameModel.Presentation
{
    public static class StandardStyles
    {
        static public VisualTraits Stock
        {
            get
            {
                return new VisualTraits
                       {
                           Arrangement = CardArrangement.StackTower,
                           ContentFit = ContentFit.FitBounds
                       };
            }
        }

        static public VisualTraits Waste
        {
            get
            {
                return new VisualTraits
                       {
                           HorizontalAlignment = HorizontalAlignment.Left,
                           Arrangement = CardArrangement.StackWaste
                       };
            }
        }

        static public VisualTraits Foundation
        {
            get
            {
                return new VisualTraits
                       {
                           EmptyCue = () => EmptyPileCue.Foundation,
                           Arrangement = CardArrangement.StackSquare
                       };
            }
        }

        static public VisualTraits Tableau
        {
            get
            {
                return new VisualTraits
                       {
                           EmptyCue = () => EmptyPileCue.Outlined,
                           Arrangement = CardArrangement.StackTopToBottom,
                           ContentFit = ContentFit.FitHeight
                       };
            }
        }

        static public VisualTraits Reserve
        {
            get
            {
                return new VisualTraits
                {
                    Arrangement = CardArrangement.StackLeftToRight,
                    ContentFit = ContentFit.FitHeight
                };
            }
        }
    }
}